package com.devframe.sysconfig.storage.operate;

import java.util.List;
import java.util.Map;

import com.devframe.sysconfig.service.CodeService;
import com.devframe.sysconfig.service.CtrlTableService;
import com.devframe.sysconfig.service.SysParamService;

public interface WriterCacheData {

	/**
	 * 清除代码表的数据
	 */
	public void clearCodeTableData();
	/**
	 * 加载代码表
	 * @param key
	 * @param val
	 */
	public void addCodeTableSet(String key,Map val);
	
	/**
	 * 加载代码表
	 * @param codeTable
	 * @return
	 */
	public Map addCodeTable(String codeTableName);
	
	/**
	 * 绑定代码表查询句柄
	 * @param codeService
	 */
	public void bindCodeServiceHandle(CodeService codeService);
	
	
	
	/////////////////////系统参数操作///////////////////
	/**
	 * 清楚系统参数的数据
	 */
	public void cleanSysParamData();
	
	/**
	 * 添加系统参数
	 * @param key
	 * @param value
	 */
	public void addSysParam(String key,String value);
	
	/**
	 * 修改系统参数值，更新到库并且更新到缓存中
	 * @param key 参数名
	 * @param value 参数值
	 * @author:Administrator
	 */
	public void updateSysParam(String key, String value);
	
	/**
	 * 设置系统参数，只更新到缓存中
	 * @param key 参数Key
	 * @param value 参数值
	 * @author 
	 */
	public void setSysParam(String key, String value);
	
	/**
	 * 绑定系统参数服务
	 * @param sysParamService
	 */
	public void bindSysParamService(SysParamService sysParamService);
	
	///////////////////////////////////////////////
	public void cleanCtrlTableData();
	
	
	public void addCtrlTableSet(String tableAlias,String tableName);
	
	public List addCtrlTable(String tableAlias);
	
	
	
	public void removeCtrlTable(String tableAlias);
	
	public void bindCtrlTableService(CtrlTableService ctrlTableService);
}
